package com.lkdont.android.media.examples.util

import android.content.Context
import java.io.File

/**
 * 文件工具
 *
 * @author lqd
 */
class FileUtils {

    companion object {

        private fun getCacheFile(context: Context, dirName: String, filename: String): File? {
            val rootDir = context.externalCacheDir ?: return null
            val dir = File(rootDir, dirName)
            if ((!dir.exists() && !dir.mkdir()) || dir.isFile) {
                return null
            }
            return File(dir, filename)
        }

        /**
         * 获取音频缓存文件
         *
         * @return 如果获取文件失败，返回null
         */
        fun getAudioCacheFile(context: Context, filename: String): File? {
            return getCacheFile(context, "audio", filename)
        }

        /**
         * 获取视频缓存文件
         *
         * @return 如果获取文件失败，返回null
         */
        fun getVideoCacheFile(context: Context, filename: String): File? {
            return getCacheFile(context, "video", filename)
        }

        /**
         * 获取图像缓存文件
         *
         * @return 如果获取文件失败，返回null
         */
        fun getImageCacheFile(context: Context, filename: String): File? {
            return getCacheFile(context, "image", filename)
        }

    }

}